home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
nyan_e2
/
nyane2_f.plp
< prev
next >
Wrap
Text File
|
1993-11-30
|
16KB
|
768 lines
/********** ファイルマネージャ v1.04a用 ***********/
var objfile[15];
var objpath[80];
var tarfile[15];
var tarpath[80];
var newdir[8];
var newdir2[9];
var nowdir[80];
var lhadir[35];
%lha {lha };
%ish {ish };
%size {lc };
%remain {free };
%dirsize {dskuse };
%dircopy {dircpy };
%deldir {deldir };
%format {format };
%diskcopy {diskcopy };
%tree {tree };
%move {zcopy /m };
%tmpfile tmpdir|{\_tmpfile.dat};
case(current<>tmpdir,{Yes},{lhadir:={-w}|tmpdir|{ }});
%YES{ im({Yes}); };
%NO{ im({No}); };
%kakunin{
footnote({確認},{b});
loop({waitx(9999); im(@PFK(@xtype)!=101)});
footnote({});
};
%YesNo2{[MSG,CMD]
loop({
select(MSG,9999,{YES;
},{ O K },{CMD;
},{ N G },{NO;
});
});
};
%delmemo{
case(@mcheck,0,{mopen(1)}); mclose(3);
};
%same{[OPR,OPT,MSG]
footnote({});
display({\n\n});
command(OPR|objpath|{\}|objfile|OPT);
display(MSG);
};
%Dsame{[OPR]
footnote({});
display({\n\n});
command(OPR|objpath);
kakunin;
};
%cpychk{[MSG,OPR]
footnote(MSG|{ファイル名を指定してください (「.」で元ファイルと同名)});
tarfile:=@filesel;
case(tarfile<>{},{Yes},{
case(tarfile={.} || tarfile={.},{Yes},{tarfile:=objfile});
case(@filechk(tarfile),
{Yes},{ case(@getcdir2<>objpath,
{Yes},{
footnote({ 現在 「}|tarfile|{」 を選択しています});
select({ ファイルが既に存在します},999,,
{ 置き換える },{OPR;
},{ キャンセル },{
});
},{No},{
select({ 元のディレクトリです},5,,{ OK? });
});
},{No},{ OPR;
});
});
};
%period{[MSG]
footnote({ }|MSG|{ディレクトリに移動して,ピリオド「.」を入力してください});
};
%askdir{
newdir2:={};
newdir:=@input({ 作成するディレクトリ名を入れてください\n}|
{ (空入力または右クリックで制作しません)});
case(newdir<>{},{Yes},{newdir2:={\}|newdir});
};
%makedir{
case(newdir<>{},{Yes},{
command({MD }|newdir);
command({CD }|newdir);
});
};
%getarcfile{[MEMO,OPR]
tarfile:=@head(@getchar(@memo(MEMO,@xlinenum,1),3,12),{ });
case(tarfile<>{} && tarfile<>{------------} && tarfile<>{sting} &&
tarfile<>{Name},{Yes},{OPR;
});
};
%right{右クリックで 「終了」 します};
%fsmsg{[MSG]
footnote({ }|MSG|{するファイルを選んでください (右クリックで終了)});
};
%HeadTail{[CMD]
dispoff({Yes});
command(CMD|{ -80 }|objpath|{\}|objfile|{ > }|tmpfile);
mread(tmpfile);
mopen(1,0,21,639,459,{r});
footnote({終了},{b});
loop({waitx(9999); im(@PFK(@xtype)!=101)});
footnote({});
command({DEL }|tmpfile);
allclear;
dispoff({No});
};
%fcopy{
cpychk({ 複写先},{
command({COPY }|objpath|{\}|objfile|{ }|tarfile);
});
};
%fdel{
footnote({});
case(@YesNo({ 「}|objpath|{\}|objfile|{」 を削除します}),{Yes},{
command({DEL }|objpath|{\}|objfile);
});
};
%fmove{
cpychk({ 移動先},{
command({COPY }|objpath|{\}|objfile|{ }|tarfile);
case(@filechk(tarfile),{Yes},{
command({DEL }|objpath|{\}|objfile);
});
});
};
%fren{
footnote({});
tarfile:=@input({ 新しいファイル名を入力してください},,objfile);
case(tarfile<>{},{Yes},{
case(@filechk(tarfile),
{Yes},{ select({同じファイル名が既に存在します},10,,
{ 確 認 });
},{No},{ command({REN }|objpath|{\}|objfile|{ }|tarfile);
});
});
};
%fsize{
same(size,{},{ (行数) (バイト数)\n});
};
%fview{
%viewlzh{
getarcfile({1},{
mclose(2);
footnote({});
select({ 「}|tarfile|{」をどうしますか?},9999,{YES;
},{ 表 示 },{
command(lha|{p }|objpath|{\}|objfile|{ }|tarfile|
{ > }|tmpfile);
mread(tmpfile,2); mopen(2,0,21,639,459,{w});
kakunin;
check(2); mclose(3);
YES;
},{ 解 凍 },{
setcdir2(nowdir);
period({解凍先});
%a @filesel;
footnote({});
case(a<>{},{Yes},{
askdir;
YesNo2({ 「}|tarfile|{」を解凍します},{
makedir;
nowdir:=@getcdir2;
command(lha|{e }|objpath|{\}|objfile|
{ }|tarfile);
});
});
YES;
},{ 削 除 },{
case(@YesNo({ 「}|tarfile|{」を削除してもいいですか?}),
{Yes},{ command(lha|{d }|objpath|{\}|objfile|
{ }|tarfile);
case(@filechk(objpath|{\}|objfile),
{Yes},{
command(lha|{l }|objpath|{\}|
objfile|{ > }|tmpfile);
mclear(1);
mread(tmpfile,1);
},{No},{
mclear(1);
madd(1,{\n\n}|
{ 「}|objfile|{」内のファイルはすべて削除されました\n\n}|
{ (「終了」を押してください)\n}
);
});
YES;
},{No},{YES;
});
},{ 終 了 },{YES;
});
});
YES;
};
footnote({});
case(@tail(objfile,{.})={LZH} || @tail(objfile,{.})={EXE},
{No},{ mread(objfile);
mopen(1,0,21,639,459,{w});
footnote({終了},{b});
loop({waitx(9999); im(@PFK(@xtype)!=101)});
/* check(1); mclose(2);
footnote({});
case(@YesNo({ memoの内容をファイルに書き出しますか?}),{Yes},{
cpychk({},{mwrite(tarfile,1)});
}); */
allclear;
},{Yes},{
nowdir:=@getcdir2;
command(lha|{l }|objpath|{\}|objfile|{ > }|tmpfile);
mread(tmpfile);
mopen(1,0,21,639,459,{r});
loop({
footnote({終了決定},{b});
check(1);
waitx();
case( @PFK(@xtype),
1,{ viewlzh;
},101,{ NO;
},102,{ viewlzh;
},,{ YES;
});
});
delmemo;
footnote({});
command({DEL }|tmpfile);
setcdir2(nowdir);
NO;
});
};
%farc{
footnote({ 「}|objfile|{」の凍結先ファイル名を指定してください}|
{ (「.」で同ファイル名)});
tarfile:=@filesel;
case(tarfile<>{},{Yes},{
case(tarfile={.} || tarfile={.},{Yes},{
tarfile:=@head(objfile,{.})});
footnote({});
display({\n\n});
command(lha|{a }|lhadir|tarfile|{ }|objpath|{\}|objfile);
});
};
%fext{
case( @tail(objfile,{.})={LZH} || @tail(objfile,{.})={EXE},{Yes},{
period({解凍先});
%a @filesel;
footnote({});
askdir;
case(a<>{},{Yes},{
command(lha|{l }|objpath|{\}|objfile);
%b @input({ 解凍ファイルを入力してください.\n}|
{ 空白で区切って複数入力できます.\n}|
{ 例「NYAN_E_A.PLP NYAN_E_V.PLP」\n}|
{ 空入力またはマウス右ボタンで,全ファイル解凍});
YesNo2({「}|@getcdir2|newdir2|{」 配下に解凍します.},{
makedir;
command(lha|{x }|objpath|{\}|objfile|{ }|b);
});
});
});
};
%farl{
same(lha|{l },{},{});
kakunin;
};
%fsekika{
same(ish,{ /ss /m},{});
};
%fkaiseki{
same(ish,{},{});
};
%fmanager{
loop({
footnote({処理対象ファイルを選択してください.}|
{前回選択したのは「}|objfile|{」です});
tarfile:=objfile;
objfile:=@filesel;
footnote({});
case(objfile={.} || objfile={.},{Yes},{
setcdir2(objpath); objfile:=tarfile});
case(objfile<>{},
{Yes},{
objpath:=@getcdir2;
case(@body(objfile,{.}),
{LZH},{footnote({「解 凍」を選んでください}|
{ (}|right|{)});
},{ISH},{footnote({「解 石」を選んでください}|
{ (}|right|{)});
},,{footnote({ }|right);
});
select(
{ 処理を指定してください.対象ファイルは「}|objfile|{」です},
9999,{NO;
},{ 複 写 },{fcopy; YES;
},{ 削 除 },{fdel; YES;
},{ 移 動 },{fmove; YES;
},{ 改 名 },{fren; YES;
},{ 大きさ},{fsize; YES;
},{ 表 示 },{fview; YES;
},{ 凍 結 },{farc; YES;
},{ 解 凍 },{fext; YES;
},{ 一 覧 },{farl; YES;
},{ 石 化 },{fsekika; YES;
},{ 解 石 },{fkaiseki; YES;
},{ 再選択},{YES;
/* },{ 先 頭 },{HeadTail({head}); YES;*/
/* },{ 末 尾 },{HeadTail({tail}); YES;*/
});
},{No},{NO;
});
});
footnote({});
};
%Deldir{
Dsame({DIR });
case(@YesNo({ 「}|objpath|{」 以下をすべてを削除します}),{Yes},{
command({CD ..});
command({echo Y | }|deldir|objpath);
});
};
%Ddelf{
Dsame({DIR });
case(@YesNo({ 「}|objpath|{」 配下の全ファイルを削除します}),{Yes},{
command({echo Y | DEL *.*});
});
};
%Dmake{
footnote({});
objfile:=@input({ 新ディレクトリ名を入力してください});
command({MD }|objpath|{\}|objfile);
};
%Ddel{
footnote({});
objfile:=@tail(objpath,{\});
command({CD ..});command({RD }|objfile);
};
%Dtree{
Dsame(tree);
};
%Darc{
footnote({});
objfile:=@tail(objpath,{\});
command({DIR }|objpath);
footnote({ 「}|objfile|{」の凍結先ファイル名を入力してください}|
{ (「.」で元ディレクトリと同名)});
tarfile:=@filesel;
tarpath:=@getcdir2;
case(tarfile<>{},{Yes},{
case(tarfile={.} || tarfile={.},{Yes},{tarfile:=objfile});
case(@filechk(tarpath|{\}|@head(tarfile,{.})|{.LZH}),{Yes},{
command(lha|{l }|tarpath|{\}|tarfile);
kakunin;
});
display({\n\n});
case(@YesNo({ 「}|objfile|{」を凍結します}),{Yes},{
command(lha|{u -x1 -r2 }|lhadir|tarpath|{\}|tarfile|
{ }|@body(objpath,,{\})|{\ }|objfile);
});
});
};
%Dir{
Dsame({DIR });
};
%Duse{
Dsame(dirsize);
};
%Dcopy{
footnote({});
command(dirsize|objpath);
wait(1);
footnote({ 「}|objpath|{」 の複写先で,ピリオド「.」を入力してください});
%a @filesel;
footnote({});
case(a<>{},{Yes},{
tarpath:=@getcdir2|{\}|@tail(objpath,{\});
footnote({ 「}|objpath|{」以下を「}|@getcdir|{」配下に複写します});
display({\n});
command(remain|@head(tarpath,{\}));
display({\n});
YesNo2({ 複写してもいいですか?},
{command({echo Y | }|dircopy|objpath|{ }|tarpath);
});
});
};
%dmanager{
loop({
period({目的});
%a @filesel;
footnote({});
case(a<>{},
{Yes},{
objpath:=@getcdir2;
footnote({ }|right);
select(
{ 「}|objpath|{」 の処理を指定してください},9999,{ NO;
},{ ディレクトリごと削除 },{Deldir; YES;
},{ ディレクトリ下の全ファイル削除 },{Ddelf; YES;
},{ ディレクトリの作成 },{Dmake; YES;
},{ ディレクトリの削除 },{Ddel; YES;
},{ ツリー図の表示 },{Dtree; YES;
},{ ディレクトリごと凍結 },{Darc; YES;
/* },{ ファイルの情報 },{Dir; YES;*/
},{ ディレクトリのサイズ },{Duse; YES;
},{ ディレクトリの複写 },{Dcopy; YES;
},{ 再 選 択 },{YES;
});
},{No},{NO;
});
});
footnote({});
};
%FDformat{
%A {A:};
%B {B:};
%FDform{[DRIVE]
command({DIR }|DRIVE|{ /W});
kakunin;
case(@YesNo({ 初期化していいですか?}),{Yes},{
nowdir:=@getcdir2;
objfile:=@input({ ボリュームラベルを入力してください});
display({\n\n});
setcdir2(current);
write(tmpfile,{\n}|objfile|{\n}|{n\n});
command(format|DRIVE|{ /C < }|tmpfile);
command({DEL }|tmpfile);
setcdir2(nowdir);
});
};
loop({
select(
{ 初期化するドライブを選択してください},9999,{NO;
},{ A },{FDform(A);YES;
},{ B },{FDform(B);YES;
},{ 終 了 },{NO;
});
});
};
%FDcopy{
case(@YesNo({ A → B に複写をします}),{Yes},{
command({DIR B: /W});
kakunin;
case(@YesNo({ 複写してもいいですか?}),{Yes},{
display({\n\n});
write(tmpfile,{\n}|{n\n});
command(diskcopy|{A: B: < }|tmpfile);
command({DEL }|tmpfile);
});
});
};
%Remain{
footnote({ 表示ドライブへ移動し,ピリオド「.」を入力してください});
%a @filesel;
footnote({});
case(a<>{},{Yes},{
objpath:=@head(@getcdir,{\});
display({\n\n});
command(remain|objpath);
kakunin;
});
};
%fdmanager{
loop({
select(
{ 処理を指定してください.},9999,{ NO;
},{ フロッピーディスクの初期化 },{FDformat;YES;
},{ フロッピーディスクの複写 },{FDcopy;YES;
},{ 残り容量の表示 },{Remain;YES;
/* },{ 終 了 },{NO; */
});
});
};
%console{
loop({
select(
{ 処理を選択してください},99999,{ NO;
},{ コマンドライン },{
footnote({ コマンド実行モード中 (「EXIT」で終了します)});
command({c:\command.com});
YES;
},{ コマンド選択 },{
footnote({ ファイルを選択してください});
objfile:=@filesel;
objpath:=@getcdir2;
footnote({});
tarpath:=@input({コマンドを完成させてください}
,,{ }|objpath|{\}|objfile|{ });
command(tarpath);
YES;
/* },{ 終 了 },{NO; */
});
});
};
/*
** MultiFile Manager
*/
%multi{
loop({
objfile:=@filesel;
objpath:=@getcdir2;
case(objfile<>{},
{Yes},{ case(@mlast<>0,{Yes},{mclose(1);});
madd(1,objpath|{\}|objfile|{\n});
mopen(1,0,132,369,449,{w});
YES;
},{No},{case(@mlast<>0,
{Yes},{ kakunin;
check(1); mclose(1);
NO;
},{No},{NO;
});
});
});
max:=@nolmemo(1);
now:={1};
};
%Count{[OPR]
mopen(1); mclose(2);
loop({
case(max > now,
{Yes},{
tarpath:=@memo(1,now,1);
case(tarpath<>{},{Yes},{OPR});
now:=now+1;
YES;
},{No},{ NO;
});
});
};
%fscopy{
fsmsg({複写});
multi;
case(@mlast<>0,{Yes},{
period({複写先});
%a @filesel;
footnote({});
case(a<>{},{Yes},{
YesNo3( { 「}|@getcdir2|{」 }|{配下に複写},{
Count({command({COPY }|tarpath)});
});
});
delmemo;
});
footnote({});
};
%fsdel{
fsmsg({削除});
multi;
case(@mlast<>0,{Yes},{
YesNo3( {削除},{
Count({command({DEL }|tarpath)});
});
delmemo;
});
footnote({});
};
%fsmove{
fsmsg({移動});
multi;
case(@mlast<>0,{Yes},{
period({移動先});
%a @filesel;
footnote({});
case(a<>{},{Yes},{
%NDir @getcdir2;
YesNo3({ 「}|NDir|{」 }|{配下に移動},{
Count({
case(@body(tarpath,,{\})<>NDir,{Yes},{
command(move|tarpath);
});
});
});
});
delmemo;
});
footnote({});
};
%fsarc{
var arcpath[80];
fsmsg({凍結});
multi;
case(@mlast<>0,{Yes},{
footnote({ 凍結ファイル名を入力してください (「.LZH」は不要)});
loop({
tarfile:=@filesel;
im(tarfile={.} || tarfile={.});
});
footnote({});
arcpath:=@getcdir2;
case(tarfile<>{},{Yes},{
YesNo3({凍結},{
Count({
command(lha|{a }|lhadir|arcpath|{\}|
@head(tarfile,{.})|{ }|tarpath);
});
});
});
delmemo;
});
footnote({});
};
%fsext{
%getlzh{
check(2);
getarcfile({2},{
mclose(1);
madd(1,tarfile|{\n});
mopen(1); mclose(1); mopen(2);
});
};
%allext{
case(@mcheck,{1},{mclose(1)},{2},{mclose(1)});
mclear(1);
extfile;
};
%extfile{
check(1); mclose(2); mclose(2);
period({解凍先});
%a @filesel;
footnote({});
case(a<>{},{Yes},{
askdir;
YesNo3({ 「}|@getcdir2|newdir2|{」 配下に解凍},{
makedir;
nowdir:=@getcdir2;
case(@nolmemo(1)=0,
{Yes},{
command(lha|{e }|objpath|{\}|objfile);
},{No},{
max:=@nolmemo(1);
now:={1};
Count({
command(lha|{e }|objpath|{\}|objfile|
{ }|tarpath);
});
});
});
});
};
%out{
case(@nolmemo(1)<>0,{Yes},{extfile});
footnote({});
};
fsmsg({解凍});
objfile:=@filesel;
objpath:=@getcdir2;
case(objfile<>{} && @tail(objfile,{.})={LZH} ||
objfile<>{} && @tail(objfile,{.})={EXE},{Yes},{
nowdir:=@getcdir2;
command(lha|{l }|objpath|{\}|objfile|{ > }|tmpfile);
madd(1,{}); mopen(1,0,266,639,459,{w}); mclose(1);
mread(tmpfile,2); mopen(2,0,21,639,265,{w});
footnote({終了選択全部},{b});
loop({
waitx();
case( @PFK(@xtype),
2,{ getlzh; YES;
},101,{ out; NO;
},102,{ getlzh; YES;
},103,{ allext; NO;
},,{ YES;
});
});
allclear;
command({DEL }|tmpfile);
setcdir2(nowdir);
});
footnote({});
};
%files{
var max[2];
var now[2];
%YesNo3{[MSG,CMD]
case(@mlast<>0,
{Yes},{
loop({
select({ ファイルを}|MSG|{します},
9999,{YES;
},{ O K },{ CMD;
},{ N G },{ NO;
});
});
});
};
loop({
footnote({ }|right);
select({ 処理を指定してください},9999,{ NO;
},{ 複 写 },{fscopy; YES;
},{ 削 除 },{fsdel; YES;
},{ 移 動 },{fsmove; YES;
},{ 凍 結 },{fsarc; YES;
},{ 解 凍 },{fsext; YES;
});
footnote({});
});
};
footnote({});
allclear;
loop({
select({ 処理を指定してください},9999,{ YES;
},{ 複数ファイルの操作 },{files; YES;
},{ コンソールモード },{console; YES;
},{ フロッピーディスクの操作 },{fdmanager; YES;
},{ ディレクトリの操作 },{dmanager; YES;
},{ ファイルの操作 },{fmanager; YES;
},{ メインメニューへ戻る },{NO;
});
});